home *** CD-ROM | disk | FTP | other *** search
- 10010 '--------------------------------------------------------------------
- 10020 '
- 10030 ' 斜方投射
- 10040 '
- 10050 ' Copyright (C) TeC 1994
- 10060 '--------------------------------------------------------------------
- 10070 SCREEN 0 : SCREEN@ 0
- 10080 DIM V(10),D(10),H(10),PX(10),PY(10)
- 10090 DIM YMAX(10),X(10),XE(10),XMAX(10),VE(10),VP(10),TT(10)
- 10100 DIM D2(10),YMAX2(10),X2(10),XE2(10),TT2(10),TT3(10),TT4(10),SD(10)
- 10110 DIM A$(50)
- 10120 'DIM SE01(1647),SE02(8116),SE03(5795),SE04(2706) '**
- 10130 'DIM SE05(1395),SE06(8290),SE07(8348) '**
- 10140 'LOAD@"se_01.snd",SE01 : LOAD@"se_02.snd",SE02 '**
- 10150 'LOAD@"se_03.snd",SE03 : LOAD@"se_04.snd",SE04 '**
- 10160 'LOAD@"se_05.snd",SE05 : LOAD@"se_06.snd",SE06 '**
- 10170 'LOAD@"se_07.snd",SE07 '**
- 10180 PALETTE 1,[ 63,127,255]
- 10190 PALETTE 2,[ 63,255,127]
- 10200 PALETTE 3,[131, 0, 89]
- 10210 PALETTE 4,[191,191, 0]
- 10220 PALETTE 5,[ 0,127,127]
- 10230 PALETTE 6,[ 63,127,255]
- 10240 PALETTE 7,[ 63,255,127]
- 10250 PALETTE 8,[131, 0, 89]
- 10260 PALETTE 9,[191,191, 0]
- 10270 PALETTE 10,[ 0,127,127]
- 10280 PALETTE 11,[255,255,255]
- 10290 PALETTE 12,[ 63, 63, 63]
- 10300 PALETTE 13,[127,127,127]
- 10310 PALETTE 14,[191,191,191]
- 10320 G=9.8! : XMAX=0 : YMAX=0
- 10330 A$( 0)=" "
- 10340 A$( 1)="☆"
- 10350 A$( 2)="[ メニュー ]"
- 10360 A$( 3)=" (入力する値) → (求める値)"
- 10370 A$( 4)="初速度,仰角,高さ → 最高点,落下点,瞬間速度,所要時間"
- 10380 A$( 5)="初速度,高さ,一点 → 仰角,最高点,落下点,瞬間速度,所要時間"
- 10390 A$( 6)="仰角,高さ,一点 → 初速度,最高点,落下点,瞬間速度,所要時間"
- 10400 A$( 7)="初速度,高さ → 最大距離,仰角,最高点,瞬間速度,所要時間"
- 10410 A$( 8)="今から入力するデータは、 個目です。(残り )"
- 10420 A$( 9)="初速度[m/sec] を入力してください"
- 10430 A$(10)="仰角[°] を入力してください"
- 10440 A$(11)="高さ[m] を入力してください"
- 10450 A$(12)="一点(x,y)[m] を入力してください"
- 10460 A$(13)="初速度"
- 10470 A$(14)="仰角"
- 10480 A$(15)="高さ"
- 10490 A$(16)="一点"
- 10500 A$(17)="最高点"
- 10510 A$(18)="落下点"
- 10520 A$(19)="最大距離"
- 10530 A$(20)="瞬間速度"
- 10540 A$(21)="所要時間"
- 10550 A$(22)="今入力したデータは、 個目です。(残り ) "
- 10560 A$(23)="処理 >>> 入力 演算 取り消す 取り消して演算"
- 10570 A$(24)="データがありません"
- 10580 A$(25)="データがいっぱいです"
- 10590 A$(26)="十字キー >>> 他の結果を表示"
- 10600 A$(27)="実行キー >>> グラフ化(表示後、実行キー でこの画面を合成)"
- 10610 A$(28)="取消キー >>> 次の処理(データ入力、メニュー、終了 の選択)"
- 10620 A$(29)="<条件>"
- 10630 A$(30)="<結果>"
- 10640 A$(31)="指定した一点は通過できません"
- 10650 A$(32)="処理 >>> データ入力 メニュー プログラム終了"
- 10660 A$(33)="(x座標)"
- 10670 A$(34)="(y座標)"
- 10680 A$(35)="(一点)"
- 10690 A$(36)="(落下点)"
- 10700 A$(37)="任意"
- 10710 A$(38)="OK!"
- 10720 A$(39)="エラー発生!!! ERROR LEVEL:^j\@o%%]k.&e"
- 10730 A$(40)="緊急事態につき 終了します."
- 10740 A$(41)="自動復旧プログラム 作動中"
- 10750 A$(42)="そのままお待ち下さい."
- 10760 A$(43)="^j\o%%]k.&e "
- 10770 A$(44)="^j\o%]k.&e "
- 10780 A$(45)="^j\o%k.&e "
- 10790 A$(46)="^j\o%k&e "
- 10800 A$(47)="j\o%k&e "
- 10810 A$(48)="jo%k&e "
- 10820 A$(49)="jok&e "
- 10830 A$(50)="joke "
- 10840 *メニュー
- 10850 CLS
- 10860 COLOR 7
- 10870 LOCATE 2, 3 : PRINT A$(2)
- 10880 LOCATE 15, 5 : PRINT A$(3)
- 10890 LOCATE 15, 8 : PRINT A$(4)
- 10900 LOCATE 15,11 : PRINT A$(5)
- 10910 LOCATE 15,14 : PRINT A$(6)
- 10920 LOCATE 15,17 : PRINT A$(7)
- 10930 M=1 : N=1
- 10940 COLOR 6
- 10950 LOCATE 10, 8 : PRINT A$(1)
- 10960 IN$=INKEY$ : IF IN$="" THEN 10960
- 10970 IF IN$=CHR$(&H1E) THEN M=M-1 : IF M<1 THEN M=1 ELSE M=M : GOTO 11040
- 10980 IF IN$=CHR$(&H1F) THEN M=M+1 : IF M>4 THEN M=4 ELSE M=M : GOTO 11040
- 10990 IF IN$=CHR$(&H18) THEN *終了 '***
- 11000 IF IN$=CHR$(&H0D) THEN 11030 ELSE 10960 '***
- 11010 'IF IN$=CHR$(&H18) THEN PCMPLAY SE02,127 : GOTO *終了 '**
- 11020 'IF IN$=CHR$(&H0D) THEN PCMPLAY SE02,127 ELSE 10960 '**
- 11030 ON M GOTO *M1,*M2,*M3,*M4
- 11040 'PCMPLAY SE01,127 '**
- 11050 ON M-1 GOTO 11080,11110,11140
- 11060 LOCATE 10, 8 : PRINT A$(1)
- 11070 LOCATE 10,11 : PRINT A$(0) : GOTO 10960
- 11080 LOCATE 10, 8 : PRINT A$(0)
- 11090 LOCATE 10,11 : PRINT A$(1)
- 11100 LOCATE 10,14 : PRINT A$(0) : GOTO 10960
- 11110 LOCATE 10,11 : PRINT A$(0)
- 11120 LOCATE 10,14 : PRINT A$(1)
- 11130 LOCATE 10,17 : PRINT A$(0) : GOTO 10960
- 11140 LOCATE 10,14 : PRINT A$(0)
- 11150 LOCATE 10,17 : PRINT A$(1) : GOTO 10960
- 11160 *M1
- 11170 CLS
- 11180 COLOR 7
- 11190 LOCATE 0, 1 : PRINT A$(8)
- 11200 COLOR 6
- 11210 LOCATE 24, 1 : PRINT USING"##";N
- 11220 LOCATE 44, 1 : PRINT USING"##";11-N
- 11230 COLOR 7
- 11240 LOCATE 2, 5 : PRINT A$(9)
- 11250 LOCATE 6, 7 : INPUT"",IN$ : CY=7 : GOSUB *文字判定1
- 11260 IF IN<0 THEN 11250 ELSE V(N)=IN
- 11270 LOCATE 2,10 : PRINT A$(10)
- 11280 LOCATE 6,12 : INPUT"",IN$ : CY=12 : GOSUB *文字判定2
- 11290 IF IN<-90 OR IN>90 THEN 11280 ELSE D(N)=IN
- 11300 LOCATE 2,15 : PRINT A$(11)
- 11310 LOCATE 6,17 : INPUT"",IN$ : CY=17 : GOSUB *文字判定1
- 11320 IF IN<0 THEN 11310 ELSE H(N)=IN
- 11330 GOSUB *選択<処理1>
- 11340 ON D+1 GOTO 11170,11350,11170,11350
- 11350 FOR I=1 TO N
- 11360 SD(I)=0
- 11370 VSIN=V(I)*SIN(D(I)*3.14159!/180)
- 11380 VCOS=V(I)*COS(D(I)*3.14159!/180)
- 11390 IF D(I)=-90 THEN VSIN=-V(I) : VCOS=0
- 11400 IF D(I)=90 THEN VSIN=V(I) : VCOS=0
- 11410 YMAX(I)=VSIN^2/(2*G)+H(I)
- 11420 X(I)=VSIN*VCOS/G
- 11430 IF D(I)<0 THEN YMAX(I)=H(I) : X(I)=0
- 11440 VE(I)=SQR(V(I)^2+2*G*H(I))
- 11450 TT(I)=(VSIN+SQR(VSIN^2+2*G*H(I)))/G
- 11460 XE(I)=VCOS*TT(I)
- 11470 IF XMAX<XE(I) THEN XMAX=XE(I)
- 11480 IF YMAX<YMAX(I) THEN YMAX=YMAX(I)
- 11490 NEXT I
- 11500 DP=1 : GOTO 11620
- 11510 WHILE NOT INKEY$="" : WEND
- 11520 IN$=INKEY$ : IF IN$="" THEN 11520
- 11530 IF IN$=CHR$(&H1C) OR IN$=CHR$(&H1F) THEN DP=DP+1 : GOTO 11590
- 11540 IF IN$=CHR$(&H1D) OR IN$=CHR$(&H1E) THEN DP=DP-1 : GOTO 11590
- 11550 IF IN$=CHR$(&H0D) THEN *グラフ '***
- 11560 'IF IN$=CHR$(&H0D) THEN PCMPLAY SE02,127 : GOTO *グラフ '**
- 11570 IF IN$=CHR$(&H18) THEN GOSUB *選択<処理2> ELSE 11510
- 11580 ON D+1 GOTO *M1,*メニュー,*終了
- 11590 IF DP<1 THEN DP=1 : GOTO 11510
- 11600 IF DP>N THEN DP=N : GOTO 11510
- 11610 'PCMPLAY SE05,127 '**
- 11620 CLS 1
- 11630 COLOR 5
- 11640 LOCATE 0, 0 : PRINT USING"PAGE ##";DP
- 11650 LOCATE 15, 1 : PRINT A$(29)
- 11660 LOCATE 17, 3 : PRINT A$(13)
- 11670 LOCATE 17, 4 : PRINT A$(14)
- 11680 LOCATE 17, 5 : PRINT A$(15)
- 11690 LOCATE 15, 8 : PRINT A$(30)
- 11700 LOCATE 17,10 : PRINT A$(17)
- 11710 LOCATE 17,13 : PRINT A$(18)
- 11720 LOCATE 17,15 : PRINT A$(20)
- 11730 LOCATE 17,17 : PRINT A$(21)
- 11740 GOSUB *キー案内
- 11750 COLOR 7
- 11760 LOCATE 31, 3 : PRINT V(DP);" [m/sec]"
- 11770 LOCATE 31, 4 : PRINT D(DP);" [°]"
- 11780 LOCATE 31, 5 : PRINT H(DP);" [m]"
- 11790 LOCATE 31,10 : PRINT YMAX(DP);" [m]";A$(34)
- 11800 LOCATE 31,11 : PRINT X(DP);" [m]";A$(33)
- 11810 LOCATE 31,13 : PRINT XE(DP);" [m]";A$(33)
- 11820 LOCATE 31,15 : PRINT VE(DP);" [m/sec]";A$(36)
- 11830 LOCATE 31,17 : PRINT TT(DP);" [sec]";A$(36)
- 11840 GOTO 11510
- 11850 *M2
- 11860 CLS
- 11870 COLOR 7
- 11880 LOCATE 0, 1 : PRINT A$(8)
- 11890 COLOR 6
- 11900 LOCATE 24, 1 : PRINT USING"##";N
- 11910 LOCATE 44, 1 : PRINT USING"##";11-N
- 11920 COLOR 7
- 11930 LOCATE 2, 5 : PRINT A$(9)
- 11940 LOCATE 6, 7 : INPUT"",IN$ : CY=7 : GOSUB *文字判定1
- 11950 IF IN<0 THEN 11940 ELSE V(N)=IN
- 11960 LOCATE 2,10 : PRINT A$(11)
- 11970 LOCATE 6,12 : INPUT"",IN$ : CY=12 : GOSUB *文字判定1
- 11980 IF IN<0 THEN 11970 ELSE H(N)=IN
- 11990 LOCATE 2,15 : PRINT A$(12)
- 12000 LOCATE 2,17 : INPUT"x = ",IN$ : CY=17 : GOSUB *文字判定1
- 12010 IF IN<0 THEN 12000 ELSE PX(N)=IN
- 12020 LOCATE 2,18 : INPUT"y = ",IN$ : CY=18 : GOSUB *文字判定1
- 12030 IF IN<0 THEN 12020 ELSE PY(N)=IN
- 12040 IF NOT(PX(N)=0 AND PY(N)=0) THEN 12060
- 12050 LOCATE 0,17 : PRINT SPC(160) : GOTO 12000
- 12060 GOSUB *選択<処理1>
- 12070 ON D+1 GOTO 11860,12080,11860,12080
- 12080 FOR I=1 TO N
- 12090 SD(I)=V(I)^4-G*(G*PX(I)^2+2*V(I)^2*(PY(I)-H(I)))
- 12100 IF SD(I)<0 THEN GOTO 13010
- 12110 IF PX(I)>0 THEN 12710
- 12120 IF V(I)=0 AND H(I)<PY(I) THEN SD(I)=-1 : GOTO 13010
- 12130 IF V(I)=0 THEN SD(I)=0 ELSE 12230
- 12140 D(I)=-90
- 12150 YMAX(I)=H(I)
- 12160 X(I)=0
- 12170 VE(I)=SQR(2*G*H(I))
- 12180 VP(I)=SQR(2*G*(H(I)-PY(I)))
- 12190 TT(I)=VE(I)/G
- 12200 TT3(I)=VP(I)/G
- 12210 IF YMAX<YMAX(I) THEN YMAX=YMAX(I)
- 12220 GOTO 13010
- 12230 IF H(I)<PY(I) THEN SD(I)=1 ELSE 12420
- 12240 D(I)=90
- 12250 YMAX(I)=V(I)^2/(2*G)+H(I)
- 12260 X(I)=0
- 12270 VE(I)=SQR(V(I)^2+2*G*H(I))
- 12280 VP(I)=SQR(V(I)^2+2*G*(H(I)-PY(I)))
- 12290 TT(I)=(V(I)+SQR(V(I)^2+2*G*H(I)))/G
- 12300 TT3(I)=(V(I)-SQR(V(I)^2+2*G*(H(I)-PY(I))))/G
- 12310 XE(I)=0
- 12320 IF YMAX<YMAX(I) THEN YMAX=YMAX(I)
- 12330 D2(I)=90
- 12340 YMAX2(I)=YMAX(I)
- 12350 X2(I)=0
- 12360 TT2(I)=TT(I)
- 12370 TT4(I)=(V(I)+SQR(V(I)^2+2*G*(H(I)-PY(I))))/G
- 12380 IF YMAX<YMAX(I) THEN YMAX=YMAX(I)
- 12390 XE2(I)=0
- 12400 IF YMAX(I)=PY(I) THEN SD(I)=0
- 12410 GOTO 13010
- 12420 IF H(I)=PY(I) THEN SD(I)=1 ELSE 12540
- 12430 D(I)=90
- 12440 D2(I)=90
- 12450 YMAX2(I)=V(I)^2/(2*G)+H(I)
- 12460 X2(I)=0
- 12470 VE(I)=SQR(V(I)^2+2*G*H(I))
- 12480 VP(I)=V(I)
- 12490 TT2(I)=(V(I)+SQR(V(I)^2+2*G*H(I)))/G
- 12500 TT4(I)=(V(I)+SQR(V(I)^2+2*G*(H(I)-PY(I))))/G
- 12510 XE2(I)=0
- 12520 IF YMAX<YMAX2(I) THEN YMAX=YMAX2(I)
- 12530 GOTO 13010
- 12540 IF H(I)>PY(I) THEN SD(I)=1 ELSE *エラー
- 12550 D(I)=-90
- 12560 YMAX(I)=H(I)
- 12570 X(I)=0
- 12580 VE(I)=SQR(V(I)^2+2*G*H(I))
- 12590 VP(I)=SQR(V(I)^2+2*G*(H(I)-PY(I)))
- 12600 TT(I)=(-V(I)+SQR(V(I)^2+2*G*H(I)))/G
- 12610 TT3(I)=(-V(I)+SQR(V(I)^2+2*G*(H(I)-PY(I))))/G
- 12620 XE(I)=0
- 12630 D2(I)=90
- 12640 YMAX2(I)=V(I)^2/(2*G)+H(I)
- 12650 X2(I)=0
- 12660 TT2(I)=(V(I)+SQR(V(I)^2+2*G*H(I)))/G
- 12670 TT4(I)=(V(I)+SQR(V(I)^2+2*G*(H(I)-PY(I))))/G
- 12680 XE2(I)=0
- 12690 IF YMAX<YMAX2(I) THEN YMAX=YMAX2(I)
- 12700 GOTO 13010
- 12710 D(I)=ATN((V(I)^2-SQR(SD(I)))/(G*PX(I)))
- 12720 D2(I)=ATN((V(I)^2+SQR(SD(I)))/(G*PX(I)))
- 12730 VSIN=V(I)*SIN(D(I))
- 12740 VCOS=V(I)*COS(D(I))
- 12750 YMAX(I)=VSIN^2/(2*G)+H(I)
- 12760 X(I)=VSIN*VCOS/G
- 12770 IF D(I)<0 THEN YMAX(I)=H(I) : X(I)=0
- 12780 VE(I)=SQR(V(I)^2+2*G*H(I))
- 12790 VP(I)=SQR(V(I)^2+2*G*(H(I)-PY(I)))
- 12800 TT(I)=(VSIN+SQR(VSIN^2+2*G*H(I)))/G
- 12810 TT3(I)=(VSIN-SQR(VSIN^2+2*G*(H(I)-PY(I))))/G
- 12820 IF TT3(I)>0 THEN 12840
- 12830 TT3(I)=(VSIN+SQR(VSIN^2+2*G*(H(I)-PY(I))))/G
- 12840 XE(I)=VCOS*TT(I)
- 12850 D(I)=D(I)*180/3.14159!
- 12860 IF XMAX<XE(I) THEN XMAX=XE(I)
- 12870 IF YMAX<YMAX(I) THEN YMAX=YMAX(I)
- 12880 IF SD(I)=0 THEN 13010
- 12890 IF ABS(VSIN)=V(I) AND VCOS=0 THEN 12920
- 12900 VSIN2=V(I)*SIN(D2(I))
- 12910 VCOS2=V(I)*COS(D2(I))
- 12920 YMAX2(I)=VSIN2^2/(2*G)+H(I)
- 12930 X2(I)=VSIN2*VCOS2/G
- 12940 IF D2(I)<0 THEN YMAX2(I)=H(I) : X2(I)=0
- 12950 TT2(I)=(VSIN2+SQR(VSIN2^2+2*G*H(I)))/G
- 12960 TT4(I)=(VSIN2+SQR(VSIN2^2+2*G*(H(I)-PY(I))))/G
- 12970 XE2(I)=VCOS2*TT2(I)
- 12980 D2(I)=D2(I)*180/3.14159!
- 12990 IF XMAX<XE2(I) THEN XMAX=XE(I)
- 13000 IF YMAX<YMAX2(I) THEN YMAX=YMAX2(I)
- 13010 IF XMAX<PX(I) THEN XMAX=PX(I)
- 13020 IF YMAX<PY(I) THEN YMAX=PY(I)
- 13030 IF YMAX<H(I) THEN YMAX=H(I)
- 13040 NEXT I
- 13050 DP=1 : GOTO 13160
- 13060 IN$=INKEY$ : IF IN$="" THEN 13060
- 13070 IF IN$=CHR$(&H1C) OR IN$=CHR$(&H1F) THEN DP=DP+1 : GOTO 13130
- 13080 IF IN$=CHR$(&H1D) OR IN$=CHR$(&H1E) THEN DP=DP-1 : GOTO 13130
- 13090 IF IN$=CHR$(&H0D) THEN *グラフ '***
- 13100 'IF IN$=CHR$(&H0D) THEN PCMPLAY SE02,127 : GOTO *グラフ '**
- 13110 IF IN$=CHR$(&H18) THEN GOSUB*選択<処理2> ELSE 13060
- 13120 ON D+1 GOTO *M2,*メニュー,*終了
- 13130 IF DP<1 THEN DP=1 : GOTO 13060
- 13140 IF DP>N THEN DP=N : GOTO 13060
- 13150 'PCMPLAY SE05,127 '**
- 13160 CLS 1
- 13170 COLOR 5
- 13180 LOCATE 0, 0 : PRINT USING"PAGE ##";DP
- 13190 LOCATE 5, 1 : PRINT A$(29)
- 13200 LOCATE 7, 3 : PRINT A$(13)
- 13210 LOCATE 7, 4 : PRINT A$(15)
- 13220 LOCATE 7, 5 : PRINT A$(16)
- 13230 LOCATE 5, 7 : PRINT A$(30)
- 13240 LOCATE 7, 9 : PRINT A$(14)
- 13250 LOCATE 7,11 : PRINT A$(17)
- 13260 LOCATE 7,14 : PRINT A$(18)
- 13270 LOCATE 7,16 : PRINT A$(20)
- 13280 LOCATE 7,19 : PRINT A$(21)
- 13290 GOSUB *キー案内
- 13300 COLOR 7
- 13310 LOCATE 21, 3 : PRINT V(DP);" [m/sec]"
- 13320 LOCATE 21, 4 : PRINT H(DP);" [m]"
- 13330 LOCATE 21, 5 : PRINT PX(DP);" [m]";A$(33)
- 13340 LOCATE 21, 6 : PRINT PY(DP);" [m]";A$(34)
- 13350 IF SD(DP)<0 THEN LOCATE 21, 8 : COLOR 3 : PRINT A$(31) : GOTO 13060
- 13360 IF PX(DP)=0 AND H(DP)=PY(DP) THEN 13550
- 13370 LOCATE 21, 9 : PRINT D(DP);" [°]"
- 13380 LOCATE 21,11 : PRINT YMAX(DP);" [m]";A$(34)
- 13390 LOCATE 21,12 : PRINT X(DP);" [m]";A$(33)
- 13400 LOCATE 21,14 : PRINT XE(DP);" [m]";A$(33)
- 13410 LOCATE 21,16 : PRINT VE(DP);" [m/sec]";A$(36)
- 13420 LOCATE 21,17 : PRINT VP(DP);" [m/sec]";A$(35)
- 13430 LOCATE 21,19 : PRINT TT(DP);" [sec]";A$(36)
- 13440 LOCATE 21,20 : PRINT TT3(DP);" [sec]";A$(35)
- 13450 IF SD(DP)=0 THEN 13060
- 13460 LOCATE 51, 9 : PRINT D2(DP);" [°]"
- 13470 LOCATE 51,11 : PRINT YMAX2(DP);" [m]";A$(34)
- 13480 LOCATE 51,12 : PRINT X2(DP);" [m]";A$(33)
- 13490 LOCATE 51,14 : PRINT XE2(DP);" [m]";A$(33)
- 13500 LOCATE 50,16 : PRINT "(";VE(DP);" [m/sec] )"
- 13510 LOCATE 50,17 : PRINT "(";VP(DP);" [m/sec] )"
- 13520 LOCATE 51,19 : PRINT TT2(DP);" [sec]";A$(36)
- 13530 LOCATE 51,20 : PRINT TT4(DP);" [sec]";A$(35)
- 13540 GOTO 13060
- 13550 IF V(DP)=0 THEN 13370
- 13560 LOCATE 21, 9 : PRINT A$(37)
- 13570 LOCATE 21,11 : PRINT A$(37)+A$(34)
- 13580 LOCATE 21,12 : PRINT A$(37)+A$(33)
- 13590 LOCATE 21,14 : PRINT A$(37)+A$(33)
- 13600 LOCATE 21,16 : PRINT VE(DP);" [m/sec]";A$(36)
- 13610 LOCATE 21,17 : PRINT VP(DP);" [m/sec]";A$(35)
- 13620 LOCATE 21,19 : PRINT A$(37)+A$(36)
- 13630 LOCATE 21,20 : PRINT TT3(DP);" [sec]";A$(35)
- 13640 GOTO 13450
- 13650 *M3
- 13660 CLS
- 13670 COLOR 7
- 13680 LOCATE 0, 1 : PRINT A$(8)
- 13690 COLOR 6
- 13700 LOCATE 24, 1 : PRINT USING"##";N
- 13710 LOCATE 44, 1 : PRINT USING"##";11-N
- 13720 COLOR 7
- 13730 LOCATE 2, 5 : PRINT A$(10)
- 13740 LOCATE 6, 7 : INPUT"",IN$ : CY=7 : GOSUB *文字判定2
- 13750 IF IN<-90 OR IN>90 THEN 13740 ELSE D(N)=IN
- 13760 LOCATE 2,10 : PRINT A$(11)
- 13770 LOCATE 6,12 : INPUT"",IN$ : CY=12 : GOSUB *文字判定1
- 13780 IF IN<0 THEN 13770 ELSE H(N)=IN
- 13790 LOCATE 2,15 : PRINT A$(12)
- 13800 LOCATE 2,17 : INPUT"x = ",IN$ : CY=17 : GOSUB *文字判定1
- 13810 IF IN<0 THEN 13800 ELSE PX(N)=IN
- 13820 LOCATE 2,18 : INPUT"y = ",IN$ : CY=18 : GOSUB *文字判定1
- 13830 IF IN<0 THEN 13820 ELSE PY(N)=IN
- 13840 IF NOT(PX(N)=0 AND PY(N)=0) THEN 13860
- 13850 LOCATE 0,17 : PRINT SPC(160) : GOTO 13800
- 13860 GOSUB *選択<処理1>
- 13870 ON D+1 GOTO 13660,13880,13660,13880
- 13880 FOR I=1 TO N
- 13890 IF D(I)=90 OR D(I)=-90 THEN 14070
- 13900 SD(I)=PX(I)*TAN(D(I)*3.14159!/180)-PY(I)+H(I)
- 13910 IF NOT SD(I)>0 THEN SD(I)=-1 : GOTO 14360
- 13920 V(I)=PX(I)*SQR(G/(2*SD(I)))/COS(D(I)*3.14159!/180)
- 13930 SD(I)=0
- 13940 VSIN=V(I)*SIN(D(I)*3.14159!/180)
- 13950 VCOS=V(I)*COS(D(I)*3.14159!/180)
- 13960 YMAX(I)=VSIN^2/(2*G)+H(I)
- 13970 X(I)=VSIN*VCOS/G
- 13980 IF D(I)<0 THEN YMAX(I)=H(I) : X(I)=0
- 13990 VE(I)=SQR(V(I)^2+2*G*H(I))
- 14000 VP(I)=SQR(V(I)^2+2*G*(H(I)-PY(I)))
- 14010 TT(I)=(VSIN+SQR(VSIN^2+2*G*H(I)))/G
- 14020 TT3(I)=(VSIN+SQR(VSIN^2+2*G*(H(I)-PY(I))))/G
- 14030 XE(I)=VCOS*TT(I)
- 14040 IF XMAX<XE(I) THEN XMAX=XE(I)
- 14050 IF YMAX<YMAX(I) THEN YMAX=YMAX(I)
- 14060 GOTO 14360
- 14070 IF NOT PX(I)=0 THEN SD(1)=-1 ELSE 14120
- 14080 IF XMAX<PX(I) THEN XMAX=PX(I)
- 14090 IF YMAX<PY(I) THEN YMAX=PY(I)
- 14100 IF YMAX<H(I) THEN YMAX=H(I)
- 14110 GOTO 14360
- 14120 IF D(I)=-90 AND H(I)<PY(I) THEN SD(I)=-1 ELSE 14150
- 14130 IF YMAX<PY(I) THEN YMAX=PY(I)
- 14140 GOTO 14360
- 14150 IF PY(I)<H(I) THEN SD(I)=0 ELSE 14260
- 14160 V(I)=0
- 14170 YMAX(I)=H(I)
- 14180 X(I)=0
- 14190 XE(I)=0
- 14200 VP(I)=SQR(2*G*(H(I)-PY(I)))
- 14210 VE(I)=SQR(2*G*H(I))
- 14220 TT(I)=VE(I)/G
- 14230 TT3(I)=VP(I)/G
- 14240 IF YMAX<YMAX(I) THEN YMAX=YMAX(I)
- 14250 GOTO 14360
- 14260 IF D(I)=90 AND H(I)<PY(I) THEN SD(I)=0 ELSE *エラー
- 14270 V(I)=SQR(2*G*(PY(I)-H(I)))
- 14280 YMAX(I)=PY(I)
- 14290 X(I)=0
- 14300 XE(I)=0
- 14310 VP(I)=0
- 14320 VE(I)=SQR(V(I)^2+2*G*H(I))
- 14330 TT(I)=(V(I)+SQR(V(I)^2+2*G*H(I)))/G
- 14340 TT3(I)=2*V(I)/G
- 14350 IF YMAX<YMAX(I) THEN YMAX=YMAX(I)
- 14360 NEXT I
- 14370 DP=1 : GOTO 14480
- 14380 IN$=INKEY$ : IF IN$="" THEN 14380
- 14390 IF IN$=CHR$(&H1C) OR IN$=CHR$(&H1F) THEN DP=DP+1 : GOTO 14450
- 14400 IF IN$=CHR$(&H1D) OR IN$=CHR$(&H1E) THEN DP=DP-1 : GOTO 14450
- 14410 IF IN$=CHR$(&H0D) THEN *グラフ '***
- 14420 'IF IN$=CHR$(&H0D) THEN PCMPLAY SE02,127 : GOTO *グラフ '**
- 14430 IF IN$=CHR$(&H18) THEN GOSUB*選択<処理2> ELSE 14380
- 14440 ON D+1 GOTO *M3,*メニュー,*終了
- 14450 IF DP<1 THEN DP=1 : GOTO 14380
- 14460 IF DP>N THEN DP=N : GOTO 14380
- 14470 'PCMPLAY SE05,127 '**
- 14480 CLS 1
- 14490 COLOR 5
- 14500 LOCATE 0, 0 : PRINT USING"PAGE ##";DP
- 14510 LOCATE 15, 1 : PRINT A$(29)
- 14520 LOCATE 17, 3 : PRINT A$(14)
- 14530 LOCATE 17, 4 : PRINT A$(15)
- 14540 LOCATE 17, 5 : PRINT A$(16)
- 14550 LOCATE 15, 7 : PRINT A$(30)
- 14560 LOCATE 17, 9 : PRINT A$(13)
- 14570 LOCATE 17,11 : PRINT A$(17)
- 14580 LOCATE 17,14 : PRINT A$(18)
- 14590 LOCATE 17,16 : PRINT A$(20)
- 14600 LOCATE 17,19 : PRINT A$(21)
- 14610 GOSUB *キー案内
- 14620 COLOR 7
- 14630 LOCATE 31, 3 : PRINT D(DP);" [°]"
- 14640 LOCATE 31, 4 : PRINT H(DP);" [m]"
- 14650 LOCATE 31, 5 : PRINT PX(DP);" [m]";A$(33)
- 14660 LOCATE 31, 6 : PRINT PY(DP);" [m]";A$(34)
- 14670 IF SD(DP)<0 THEN LOCATE 31, 8 : COLOR 3 : PRINT A$(31) : GOTO 14380
- 14680 LOCATE 31, 9 : PRINT V(DP);" [m/sec]"
- 14690 LOCATE 31,11 : PRINT YMAX(DP);" [m]";A$(34)
- 14700 LOCATE 31,12 : PRINT X(DP);" [m]";A$(33)
- 14710 LOCATE 31,14 : PRINT XE(DP);" [m]";A$(33)
- 14720 LOCATE 31,16 : PRINT VE(DP);" [m/sec]";A$(36)
- 14730 LOCATE 31,17 : PRINT VP(DP);" [m/sec]";A$(35)
- 14740 LOCATE 31,19 : PRINT TT(DP);" [sec]";A$(36)
- 14750 LOCATE 31,20 : PRINT TT3(DP);" [sec]";A$(35)
- 14760 GOTO 14380
- 14770 *M4
- 14780 CLS
- 14790 COLOR 7
- 14800 LOCATE 0, 1 : PRINT A$(8)
- 14810 COLOR 6
- 14820 LOCATE 24, 1 : PRINT USING"##";N
- 14830 LOCATE 44, 1 : PRINT USING"##";11-N
- 14840 COLOR 7
- 14850 LOCATE 2, 5 : PRINT A$(9)
- 14860 LOCATE 6, 7 : INPUT"",IN$ : CY=7 : GOSUB *文字判定1
- 14870 IF IN<0 THEN 14860 ELSE V(N)=IN
- 14880 LOCATE 2,10 : PRINT A$(11)
- 14890 LOCATE 6,12 : INPUT"",IN$ : CY=12 : GOSUB *文字判定1
- 14900 IF IN<0 THEN 14890 ELSE H(N)=IN
- 14910 GOSUB *選択<処理1>
- 14920 ON D+1 GOTO 14780,14930,14780,14930
- 14930 FOR I=1 TO N
- 14940 SD(I)=0
- 14950 IF V(I)=0 AND H(I)=0 THEN 15060
- 14960 VE(I)=SQR(V(I)^2+2*G*H(I))
- 14970 XMAX(I)=V(I)*VE(I)/G
- 14980 D(I)=ATN(V(I)/VE(I))
- 14990 YMAX(I)=((V(I)*SIN(D(I)))^2)/(2*G)+H(I)
- 15000 X(I)=(V(I)^2*SIN(2*D(I)))/(2*G)
- 15010 TT(I)=(V(I)*SIN(D(I))+SQR((V(I)*SIN(D(I)))^2+2*G*H(I)))/G
- 15020 D(I)=D(I)*180/3.14159!
- 15030 IF XMAX<XMAX(I) THEN XMAX=XMAX(I)
- 15040 IF YMAX<YMAX(I) THEN YMAX=YMAX(I)
- 15050 GOTO 15120
- 15060 XMAX(I)=0
- 15070 D(I)=45
- 15080 YMAX(I)=0
- 15090 X(I)=0
- 15100 VE(I)=0
- 15110 TT(I)=0
- 15120 NEXT I
- 15130 DP=1 : GOTO 15250
- 15140 WHILE NOT INKEY$="" : WEND
- 15150 IN$=INKEY$ : IF IN$="" THEN 15150
- 15160 IF IN$=CHR$(&H1C) OR IN$=CHR$(&H1F) THEN DP=DP+1 : GOTO 15220
- 15170 IF IN$=CHR$(&H1D) OR IN$=CHR$(&H1E) THEN DP=DP-1 : GOTO 15220
- 15180 IF IN$=CHR$(&H0D) THEN *グラフ '***
- 15190 'IF IN$=CHR$(&H0D) THEN PCMPLAY SE02,127 : GOTO *グラフ '**
- 15200 IF IN$=CHR$(&H18) THEN GOSUB*選択<処理2> ELSE 15140
- 15210 ON D+1 GOTO *M4,*メニュー,*終了
- 15220 IF DP<1 THEN DP=1 : GOTO 15140
- 15230 IF DP>N THEN DP=N : GOTO 15140
- 15240 'PCMPLAY SE05,127 '**
- 15250 CLS 1
- 15260 COLOR 5
- 15270 LOCATE 0, 0 : PRINT USING"PAGE ##";DP
- 15280 LOCATE 15, 1 : PRINT A$(29)
- 15290 LOCATE 17, 3 : PRINT A$(13)
- 15300 LOCATE 17, 4 : PRINT A$(15)
- 15310 LOCATE 15, 7 : PRINT A$(30)
- 15320 LOCATE 17, 9 : PRINT A$(19)
- 15330 LOCATE 17,11 : PRINT A$(14)
- 15340 LOCATE 17,13 : PRINT A$(17)
- 15350 LOCATE 17,16 : PRINT A$(20)
- 15360 LOCATE 17,18 : PRINT A$(21)
- 15370 GOSUB *キー案内
- 15380 COLOR 7
- 15390 LOCATE 31, 3 : PRINT V(DP);" [m/sec]"
- 15400 LOCATE 31, 4 : PRINT H(DP);" [m]"
- 15410 LOCATE 31, 9 : PRINT XMAX(DP);" [m]";A$(33)
- 15420 LOCATE 31,11 : PRINT D(DP);" [°]"
- 15430 LOCATE 31,13 : PRINT YMAX(DP);" [m]";A$(34)
- 15440 LOCATE 31,14 : PRINT X(DP);" [m]";A$(33)
- 15450 LOCATE 31,16 : PRINT VE(DP);" [m/sec]";A$(36)
- 15460 LOCATE 31,18 : PRINT TT(DP);" [sec]";A$(36)
- 15470 GOTO 15140
- 15480 *グラフ
- 15490 CLS
- 15500 IF XMAX/4>YMAX/3 THEN
- 15510 WX1=-XMAX*.05! : WY1=XMAX*1.05!*3/4
- 15520 WX2=XMAX*1.05! : WY2=-XMAX*.05!*3/4
- 15530 ELSE IF XMAX*3/4<YMAX*4/3 THEN
- 15540 WX1=-YMAX*.05!*4/3 : WY1=YMAX*1.05!
- 15550 WX2=YMAX*1.05!*4/3 : WY2=-YMAX*.05!
- 15560 ELSE
- 15570 WX1=-XMAX*.05! : WY1=YMAX*1.05!
- 15580 WX2=XMAX*1.05! : WY2=-YMAX*.05!
- 15590 ENDIF
- 15600 IF XMAX=0 THEN WX1=-1 : WX2=1
- 15610 IF XMAX=0 AND YMAX=0 THEN WY1=1 : WY2=-1
- 15620 WINDOW(WX1,WY1)-(WX2,WY2)
- 15630 LINE(WX1,0)-(WX2,0),PSET,%13
- 15640 LINE(0,WY1)-(0,WY2),PSET,%13
- 15650 FOR I=1 TO N
- 15660 IF M=4 THEN XE(I)=XMAX(I)
- 15670 IF H(I)=0 THEN 15690
- 15680 LINE(0,H(I))-(WX1,H(I)),PSET,%12
- 15690 IF XE(I)=0 THEN 15710
- 15700 LINE(XE(I),0)-(XE(I),WY2),PSET,%12
- 15710 IF X(I)=0 THEN 15740
- 15720 LINE(0,YMAX(I))-(X(I),YMAX(I)),PSET,%12
- 15730 LINE(X(I),0)-(X(I),YMAX(I)),PSET,%12
- 15740 IF NOT M=2 THEN 15800
- 15750 IF XE2(I)=0 THEN 15770
- 15760 LINE(XE2(I),0)-(XE2(I),WY2),PSET,%12
- 15770 IF X2(I)=0 THEN 15800
- 15780 LINE(0,YMAX2(I))-(X2(I),YMAX2(I)),PSET,%12
- 15790 LINE(X2(I),0)-(X2(I),YMAX2(I)),PSET,%12
- 15800 NEXT I
- 15810 FOR I=1 TO N
- 15820 IF M=1 OR M=4 THEN 15870
- 15830 LINE(PX(I),PY(I))-(PX(I),0),OR,%12
- 15840 LINE(PX(I),PY(I))-(0,PY(I)),OR,%12
- 15850 DEF PEN 0,6
- 15860 PSET(PX(I),PY(I)),%14
- 15870 DEF PEN 0,1
- 15880 IF SD(I)<0 THEN 16120
- 15890 X2=0 : Y2=H(I)
- 15900 FOR J=0 TO TT(I)*500
- 15910 IN$=INKEY$ : IF IN$=CHR$(&H18) THEN J=TT(I)*500 : I=N
- 15920 T=J/500
- 15930 X1=V(I)*COS(D(I)*3.14159!/180)*T
- 15940 Y1=-.5!*G*T^2+V(I)*SIN(D(I)*3.14159!/180)*T+H(I)
- 15950 IF D(I)=90 OR D(I)=-90 THEN X1=0
- 15960 PSET(X1,Y1),%11
- 15970 PSET(X2,Y2),%I
- 15980 X2=X1 : Y2=Y1
- 15990 NEXT J
- 16000 IF SD(I)=0 THEN 16120
- 16010 X2=0 : Y2=H(I)
- 16020 FOR J=0 TO TT2(I)*500
- 16030 IN$=INKEY$ : IF IN$=CHR$(&H18) THEN J=TT2(I)*500 : I=N
- 16040 T=J/500
- 16050 X1=V(I)*COS(D2(I)*3.14159!/180)*T
- 16060 Y1=-.5!*G*T^2+V(I)*SIN(D2(I)*3.14159!/180)*T+H(I)
- 16070 IF D2(I)=90 OR D2(I)=-90 THEN X1=0
- 16080 PSET(X1,Y1),%11
- 16090 PSET(X2,Y2),%I
- 16100 X2=X1 : Y2=Y1
- 16110 NEXT J
- 16120 NEXT I
- 16130 'PCMPLAY SE06,127 '**
- 16140 WHILE NOT INKEY$="" : WEND
- 16150 COLOR 4
- 16160 LOCATE 0, 0 : PRINT A$(38)
- 16170 IN$=INKEY$ : IF IN$="" THEN 16170
- 16180 IF IN$=CHR$(&H0D) THEN 16200 ELSE 16170 '***
- 16190 'IF IN$=CHR$(&H0D) THEN PCMPLAY SE02,127 ELSE 16170 '**
- 16200 ON M GOTO 11630,13170,14490,15260
- 16210 *文字判定1
- 16220 IN=VAL(IN$)
- 16230 'IF IN<0 THEN PCMPLAY SE04,127 ELSE PCMPLAY SE03,127 '**
- 16240 IF IN>0 THEN RETURN
- 16250 LOCATE 6,CY : PRINT SPC(74)
- 16260 IF IN=0 THEN LOCATE 6,CY : PRINT"0"
- 16270 RETURN
- 16280 *文字判定2
- 16290 IN=VAL(IN$)
- 16300 IF IN=0 THEN LOCATE 6,CY : PRINT SPC(74) : LOCATE 6,CY : PRINT"0"
- 16310 IF -90=<IN AND IN<=90 THEN RETURN '***
- 16320 LOCATE 6,CY : PRINT SPC(74) '***
- 16330 'IF -90=<IN AND IN<=90 THEN PCMPLAY SE03,127 : RETURN '**
- 16340 'LOCATE 6,CY : PRINT SPC(74) : PCMPLAY SE04,127 '**
- 16350 RETURN
- 16360 *選択<処理1>
- 16370 LOCATE 0, 1 : PRINT A$(22)
- 16380 COLOR 6
- 16390 LOCATE 20, 1 : PRINT USING"##";N
- 16400 LOCATE 40, 1 : PRINT USING"##";10-N
- 16410 D=0
- 16420 COLOR 7
- 16430 LOCATE 0,23 : PRINT A$(23)
- 16440 COLOR 6
- 16450 LOCATE 10,23 : PRINT A$(1)
- 16460 IN$=INKEY$ : IF IN$="" THEN 16460
- 16470 IF IN$=CHR$(&H1C) THEN D=D+1 : IF D>3 THEN D=3 ELSE D=D : GOTO 16680
- 16480 IF IN$=CHR$(&H1D) THEN D=D-1 : IF D<0 THEN D=0 ELSE D=D : GOTO 16680
- 16490 IF IN$=CHR$(&H18) THEN *メニュー '***
- 16500 IF IN$=CHR$(&H0D) THEN 16530 ELSE 16460 '***
- 16510 'IF IN$=CHR$(&H18) THEN PCMPLAY SE02,127 : GOTO *メニュー '**
- 16520 'IF IN$=CHR$(&H0D) THEN PCMPLAY SE02,127 ELSE 16460 '**
- 16530 ON D GOTO 16600,16600,16610
- 16540 N=N+1 : IF N<11 THEN RETURN
- 16550 N=10 : D=1
- 16560 CLS
- 16570 COLOR 7
- 16580 LOCATE 2,23 : PRINT A$(25) : WAIT 200
- 16590 'PCMPLAY SE04,127 '**
- 16600 RETURN
- 16610 N=N-1 : IF N>0 THEN RETURN
- 16620 N=1 : D=0
- 16630 CLS
- 16640 COLOR 7
- 16650 LOCATE 2,23 : PRINT A$(24) : WAIT 200
- 16660 'PCMPLAY SE04,127 '**
- 16670 RETURN
- 16680 'PCMPLAY SE01,127 '**
- 16690 ON D GOTO 16720,16750,16780
- 16700 LOCATE 10,23 : PRINT A$(1)
- 16710 LOCATE 19,23 : PRINT A$(0) : GOTO 16460
- 16720 LOCATE 10,23 : PRINT A$(0)
- 16730 LOCATE 19,23 : PRINT A$(1)
- 16740 LOCATE 28,23 : PRINT A$(0) : GOTO 16460
- 16750 LOCATE 19,23 : PRINT A$(0)
- 16760 LOCATE 28,23 : PRINT A$(1)
- 16770 LOCATE 41,23 : PRINT A$(0) : GOTO 16460
- 16780 LOCATE 28,23 : PRINT A$(0)
- 16790 LOCATE 41,23 : PRINT A$(1) : GOTO 16460
- 16800 *キー案内
- 16810 COLOR 4
- 16820 IF N=1 THEN 16840
- 16830 LOCATE 4,21 : PRINT A$(26)
- 16840 LOCATE 4,22 : PRINT A$(27)
- 16850 LOCATE 4,23 : PRINT A$(28)
- 16860 RETURN
- 16870 *選択<処理2>
- 16880 'PCMPLAY SE02,127 '**
- 16890 D=0 : N=1 : XMAX=0 : YMAX=0
- 16900 CLS
- 16910 COLOR 7
- 16920 LOCATE 0,23 : PRINT A$(32)
- 16930 COLOR 6
- 16940 LOCATE 10,23 : PRINT A$(1)
- 16950 IN$=INKEY$ : IF IN$="" THEN 16950
- 16960 IF IN$=CHR$(&H1C) THEN D=D+1 : IF D>2 THEN D=2 ELSE D=D : GOTO 17020
- 16970 IF IN$=CHR$(&H1D) THEN D=D-1 : IF D<0 THEN D=0 ELSE D=D : GOTO 17020
- 16980 IF IN$=CHR$(&H18) THEN *エラー
- 16990 IF IN$=CHR$(&H0D) THEN 17010 ELSE 16950 '***
- 17000 'IF IN$=CHR$(&H0D) THEN PCMPLAY SE02,127 ELSE 16950 '**
- 17010 RETURN
- 17020 'PCMPLAY SE01,127 '**
- 17030 ON D GOTO 17060,17090
- 17040 LOCATE 10,23 : PRINT A$(1)
- 17050 LOCATE 25,23 : PRINT A$(0) : GOTO 16950
- 17060 LOCATE 10,23 : PRINT A$(0)
- 17070 LOCATE 25,23 : PRINT A$(1)
- 17080 LOCATE 38,23 : PRINT A$(0) : GOTO 16950
- 17090 LOCATE 25,23 : PRINT A$(0)
- 17100 LOCATE 38,23 : PRINT A$(1) : GOTO 16950
- 17110 *エラー
- 17120 CLS : WAIT 200 : BEEP 1 : WAIT 100 : BEEP 0
- 17130 LOCATE 0, 0
- 17140 FOR I=0 TO 4095
- 17150 PRINT CHR$(INT(RND*256));
- 17160 IF RND<.05! THEN PRINT A$(INT(RND*50+1))
- 17170 NEXT I
- 17180 TIME$="00:00:00"
- 17190 BEEP 1
- 17200 COLOR 2
- 17210 WAIT 25 : CLS : WAIT 25
- 17220 LOCATE 2, 1 : PRINT A$(39)
- 17230 LOCATE 2, 3 : PRINT A$(40)
- 17240 IF TIME>3 THEN 17260
- 17250 IF TIME<3 THEN 17210 ELSE 17220
- 17260 BEEP 0
- 17270 COLOR 5
- 17280 LOCATE 2, 7 : PRINT A$(41)
- 17290 WAIT 200 : RANDOMIZE DATE*100000+TIME
- 17300 LOCATE 2, 9 : PRINT A$(42)
- 17310 M=INT(RND*90000) : N=800 : GOSUB 17500
- 17320 LOCATE 29, 1 : PRINT A$(43)
- 17330 M=INT(RND*90000) : N=400 : GOSUB 17500
- 17340 LOCATE 29, 1 : PRINT A$(44)
- 17350 M=INT(RND*90000) : N=200 : GOSUB 17500
- 17360 LOCATE 29, 1 : PRINT A$(45)
- 17370 M=INT(RND*90000) : N=100 : GOSUB 17500
- 17380 LOCATE 29, 1 : PRINT A$(46)
- 17390 M=INT(RND*90000) : N=500 : GOSUB 17500
- 17400 LOCATE 29, 1 : PRINT A$(47)
- 17410 M=INT(RND*90000) : N= 20 : GOSUB 17500
- 17420 LOCATE 29, 1 : PRINT A$(48)
- 17430 M=INT(RND*90000) : N=200 : GOSUB 17500
- 17440 LOCATE 29, 1 : PRINT A$(49)
- 17450 M=INT(RND*90000) : N=300 : GOSUB 17500
- 17460 LOCATE 29, 1 : PRINT A$(50)
- 17470 COLOR 7
- 17480 LOCATE 35, 1 : PRINT A$(38)
- 17490 GOTO *終了
- 17500 COLOR 1
- 17510 I=0
- 17520 IF RND<.8! THEN M=M+1 ELSE M=M+INT(RND*1000)
- 17530 IF M>99999 THEN M=INT(RND*90000)
- 17540 IF RND<.9! THEN WAIT 1 ELSE WAIT INT(RND*20)+1
- 17550 LOCATE 30, 7 : PRINT USING"#####";M
- 17560 I=I+1 : IF I<N THEN 17520
- 17570 BEEP : WAIT 50 : COLOR 2
- 17580 RETURN
- 17590 *終了
- 17600 'PCMPLAY SE07,127 '**
- 17610 WAIT 200
- 17620 CLS
- 17630 WINDOW(0,0)-(639,479)
- 17640 PALETTE
- 17650 CLEAR
- 17660 END
-